package com.akmedia.lacommunity.mapper;

import co.elastic.clients.elasticsearch._types.query_dsl.Query;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.CrudRepository;

import java.util.Iterator;

/**
 * @author keep
 * @date 2025-09-03
 */
//public interface ElasticsearchRepository <T,ID> extends CrudRepository<T, ID>,
//        org.springframework.data.elasticsearch.repository.ElasticsearchRepository<T, ID> {
//    /**
//     * 保存
//     * @param entity
//     * @return
//     * @param <S>
//     */
//    <S extends T> S save(S entity);
//
//    /**
//     * 保存，不刷新索引
//     * @param entity
//     * @return
//     * @param <S>
//     */
//    <S extends T> S indexWithoutRefresh(S entity);
//
//    /**
//     * 保存，刷新索引
//     * @param query
//     * @return
//     */
//    Iterator<T> search(Query query);
//
//    /**
//     * 保存,刷新索引
//     * @param query
//     * @param pageable
//     * @return
//     */
//    Page<T> search(Query query, Pageable pageable);
//
//    /**
//     * 保存，刷新索引
//     * @param entity
//     * @param fields
//     * @param pageable
//     * @return
//     */
//    Page<T> searchSimlar(T entity,String[] fields,Pageable pageable);
//
//    void refresh();
//
//    Class<T> getEntityClass();
//}
